package com.xbts.system.mapper;

import com.alibaba.fastjson2.JSONObject;
import com.xbts.system.domain.SysMessage;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 站内消息 Mapper接口
 * 
 * @author anhe
 * @date 2022-12-26
 */
 public interface SysMessageMapper {
    /**
     * 查询站内消息 
     * 
     * @param noticeId 站内消息 主键
     * @return 站内消息 
     */
     SysMessage selectSysMessageByNoticeId(Long noticeId);

    /**
     * 查询站内消息 列表
     * 
     * @param sysMessage 站内消息 
     * @return 站内消息 集合
     */
     List<SysMessage> selectSysMessageList(SysMessage sysMessage);

    /**
     * 新增站内消息 
     * 
     * @param sysMessage 站内消息 
     * @return 结果
     */
     int insertSysMessage(SysMessage sysMessage);

    /**
     * 修改站内消息 
     * 
     * @param sysMessage 站内消息 
     * @return 结果
     */
     int updateSysMessage(SysMessage sysMessage);

    /**
     * 删除站内消息 
     * 
     * @param noticeId 站内消息 主键
     * @return 结果
     */
     int deleteSysMessageByNoticeId(Integer noticeId);

    /**
     * 批量删除站内消息 
     * 
     * @param noticeIds 需要删除的数据主键集合
     * @return 结果
     */
     int deleteSysMessageByNoticeIds(@Param("noticeIds") List<Long> noticeIds);

    /**
     * 查询平台所有用户id
     * @return
     */
    List<Long> selectMessageToUser();

    /**
     * 批量新增
     * @param sysMessages
     * @return
     */
    int insertSysMessageBatch(@Param("list")List<SysMessage> sysMessages);

    /**
     * 将当前用户所有消息修改为已读
     * @param sysMessage
     * @return
     */
    int updateSysMessageAll(SysMessage sysMessage);

    List<SysMessage> selectSysMessageListByLoginUser(SysMessage sysMessage);
}
